/*
 * 原版接口
 */
import * as server from "@minecraft/server";

/**
 * * 默认台词
 */
export const defaultSpeak: server.RawMessage[] = [
    { text: '知识, 与你分享 ~~~' },
    { text: '为我歌颂 !!!' },
    { text: '正面偷袭 ~~~' },
    { text: '凡高大者, 我无不蔑视' },
    { text: '全力以赴 !' },
    { text: '休养生息 !' },
    { text: '吃饱喝饱, 一路走好 !' },
    { text: '迅影如剑 !' },
    { text: '火力全开 !' },
    { text: '霜寒化生 !' },
    { text: '真理, 复始周转 !' },
];

/**
 * * 角色台词 - 绯红
 * * cv: 可莉 (908)
 */
const crimson = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { translate: 'speak.crimson.routine_0' },
            { translate: 'speak.crimson.routine_1' },
            { translate: 'speak.crimson.routine_2' },
            { translate: 'speak.crimson.routine_3' },
            { translate: 'speak.crimson.routine_4' },
        ]
    )
    .set('attack', defaultSpeak);

/**
 * * 角色台词 - 海灵
 * * cv: 神里绫华 (894)
 */
const hailing = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { translate: 'speak.hailing.routine_0' },
            { translate: 'speak.hailing.routine_1' },
            { translate: 'speak.hailing.routine_2' },
            { translate: 'speak.hailing.routine_3' },
            { translate: 'speak.hailing.routine_4' },
            { translate: 'speak.hailing.routine_5' },
            { translate: 'speak.hailing.routine_6' },
            { translate: 'speak.hailing.routine_7' }
        ]
    )
    .set('attack', defaultSpeak);

/**
 * * 角色台词 - 海娜
 */
const haina = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { text: "你喜欢看海? 小心掉下去, 我可不会像我姐那样管你" },
            { text: "琉璃...... 3573#她很厉害吗? 这就是[雾海白星]的加护吗......" },
            { text: "海洋包罗万物, 也终将埋葬万物...... 别问, 问就是你" },
            { text: "海灵是我的笨蛋老姐, 我还以为你光看名字与发色就能看出来呢" },
            { text: "珍珠...... 我只能祝她平安喜乐, 前程似锦了" },
            { text: "我的原则, 就像海浪, 虽然波涛汹涌, 但始终向前" },
            { text: "我的理想, 就像海洋深处的宝藏, 即使深藏不露, 也值得我追寻" },
            { text: "我愿意为守护这片海洋, 付出我所有的努力和奉献" },
            { text: "每一个选择, 都是我坚守信念的证明, 就像海中的灯塔, 指引方向" },
            { text: "在原则问题上, 我绝不妥协, 就像海洋的边界, 清晰而坚定" },
            { text: "我将用我的力量, 保护那些无辜和弱小的生命, 就像海洋拥抱每一条河流" },
            { text: "我的信念, 如同海洋的深邃, 即使面临风暴, 也永不动摇" },
            { text: "我愿意成为那道光, 照亮黑暗, 指引迷途的船只找到归途" },
            { text: "无论面对何种困难, 我都不会放弃, 因为我有我的信念和理想" },
            { text: "我将用我的生命, 捍卫我所爱的一切, 就像海洋永远守护着它的子民" }
        ]
    )
    .set('attack', defaultSpeak);

/**
 * * 角色台词 - 琉璃
 * * cv: 早柚 (892)
 */
const crystal = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { translate: 'speak.crystal.routine_0' },
            { translate: 'speak.crystal.routine_1' },
            { translate: 'speak.crystal.routine_2' },
            { translate: 'speak.crystal.routine_3' },
            { translate: 'speak.crystal.routine_4' },
            { translate: 'speak.crystal.routine_5' },
            { translate: 'speak.crystal.routine_6' },
            { translate: 'speak.crystal.routine_7' },
            { translate: 'speak.crystal.routine_8' },
            { translate: 'speak.crystal.routine_9' },
            { translate: 'speak.crystal.routine_10' }
        ]
    )
    .set('attack', defaultSpeak);

/**
 * * 角色台词 - 蔷薇
 */
const rambler = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { text: "魔物交给你, 剩下的我来处理...... 别让我失望" },
            { text: "魔物的哀嚎使我陶醉, 但你最好别有这种爱好" },
            { text: "琉璃似乎很喜欢你, 千万别辜负她对你的期望! 不然...... 你懂我什么意思吧? " },
            { text: "琉璃是我的“妹妹”, 也是我几乎唯一的亲人了, 所以我与[无尽逐光]的某些人势不两立" },
            { text: "琉璃曾经将[雾海白星]的赐福, 毫无保留的与我分享, 而我也将尽绵薄之力来回应她的善意" },
            { text: "我的原则, 如同蔷薇的刺, 虽小却锋利, 不容侵犯" },
            { text: "我的理想, 就像蔷薇的花, 即使带刺, 也要绽放美丽" },
            { text: "我愿意为守护我所珍视的一切, 付出我所有的努力" },
            { text: "每一个选择, 都是我坚守信念的证明" },
            { text: "在原则问题上, 我绝不妥协, 就像蔷薇的根, 深深扎入土壤" },
            { text: "我将用我的力量, 保护那些无辜和弱小的生命" },
            { text: "我的信念, 如同蔷薇的芬芳, 即使在风雨中, 也永不消散" },
            { text: "我愿意成为那道光, 照亮黑暗, 指引前行的道路" },
            { text: "无论面对何种困难, 我都不会放弃, 因为我有我的信念" },
            { text: "我将用我的生命, 捍卫我所爱的一切, 直到最后一刻" }
        ]
    )
    .set('attack', defaultSpeak);

/**
 * * 角色台词 - 森涅
 */
const sennie = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { text: "你看那是什么? 是希望的曙光, 是未来的种子" },
            { text: "饿了么? 我可以去帮你搞点水果哦~~ 让自然的力量滋养我们" },
            { text: "那是......兔兔! 啊? 兔兔那么可爱! 不可以! 我们应该保护它们, 而不是伤害" },
            { text: "森兽林鸟, 自然~ 自然神奇~ 让我们和谐共处, 共享这美好的世界" },
            { text: "我的原则, 如森林中的古树, 坚定不移" },
            { text: "我的理想, 就像森林中的小溪, 清澈而深远" },
            { text: "我愿意为这片土地奉献一切, 因为它赋予了我生命和力量" },
            { text: "每一个生命都是宝贵的, 我们应该尊重它们, 就像尊重自己一样" },
            { text: "在原则问题上, 我绝不妥协, 就像森林中的岩石, 坚硬而不可动摇" },
            { text: "让我们携手保护这片森林, 它是我们的家, 也是所有生灵的家园" },
            { text: "我的信念, 如同森林中的风, 自由而不可阻挡" },
            { text: "我愿意倾听森林的声音, 它们是大自然最真实的语言" },
            { text: "让我们共同守护这片绿色, 因为它是地球的肺, 是我们的希望" }
        ]
    )
    .set('attack', defaultSpeak);

/**
 * * 角色台词 - 星砂
 */
const starsand = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { text: "无论黑暗多么深沉, 我坚信黎明总会到来" },
            { text: "过去已成定局, 但我的未来, 由我亲手创造" },
            { text: "我将与您并肩作战, 直到光明驱散所有阴霾" },
            { text: "我的信念, 如星辰般璀璨, 永不熄灭" },
            { text: "昨日的阴影, 无法遮蔽今日的阳光" },
            { text: "每个选择, 都是我前进道路上的星辰" },
            { text: "我将用行动证明, 理想并非遥不可及" },
            { text: "即使前路荆棘丛生, 我亦将勇往直前" },
            { text: "深罪惩戒, 不过是我成长路上的试炼" },
            { text: "无尽逐光, 是我对理想的执着追求" },
            { text: "天穹虽高, 但我相信, 心之所向, 无远弗届" },
            { text: "启程的钟声, 是我心中不灭的号角" },
            { text: "无论何时, 我都将坚守我的原则, 不屈不挠" },
            { text: '如遇强敌之险可唤我前来助阵, 无论何时, 我必尽绵薄之力' },
            { text: '我的过去就是一场麻痹心智的愚梦, 如不是[ 深罪惩戒 ]..... 算了, 这不是什么值得回味的往事' },
            { text: '当初的[ 无尽逐光 ], 想要凌驾于[ 天穹 ], 狂妄的违逆了[ 启程 ], 结果却招来了[ 深罪惩戒 ].....' }
        ]
    )
    .set('attack', defaultSpeak);

/**
 * * 角色台词 - 雪隐
 */
const snowhidden = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { text: "即使世界颠倒, 我仍将坚守我的信念, 如寒冰般坚定" },
            { text: "理想之路虽漫长, 我愿以行动证明, 每一步都充满意义" },
            { text: "面对挑战, 我将不屈不挠, 正如冬夜里最亮的星辰, 永不熄灭" },
            { text: "我的原则, 如同冬日的雪, 纯洁而不可侵犯" },
            { text: "您的笑容, 是我坚守信念的力量之源" },
            { text: "在原则面前, 我如同不屈的战士, 勇往直前" },
            { text: "即使世界不理解, 我也将坚持自己的道路, 直至最后一刻" },
            { text: "温暖与安心, 是您给予我的力量, 让我在寒冷中也能前行" },
            { text: "母后或许不悦, 但我相信, 真正的爱, 是理解与支持" },
            { text: "冰雪之下, 蕴藏着生命的力量, 正如我心中不灭的希望" },
            { text: "我愿化作冬日的暖阳, 为您驱散寒冷, 带来希望" }
        ]
    )
    .set('attack', defaultSpeak);

/**
 * * 角色台词 - 九九
 */
const ninenine = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { text: "你好, 我是九九, 很高兴为你服务" },
            { text: "我虽然不是真正的机器人, 但我会尽力保持冷静和逻辑" },
            { text: "如果你有任何问题, 尽管问我吧, 我会尽我所能提供帮助" },
            { text: "我在这里, 就是为了让你的生活变得更轻松" },
            { text: "我理解原则很重要, 所以在原则问题上, 我会坚持我的立场" },
            { text: "尽管我乐于帮助, 但我也有我不能妥协的底线" },
            { text: "有时候, 我可能会显得有些固执, 但请相信, 这是为了我们共同的利益" },
            { text: "我可能不会表达太多情感, 但我保证我的帮助是全心全意的" },
            { text: "如果你觉得我太机械化了, 试着告诉我, 我会尝试调整" },
            { text: "请记住, 无论我表现得多么像机器人, 我始终是那个乐于助人的九九" }
        ]
    )
    .set('attack', defaultSpeak);

/**
 * * 角色台词 - 幽蓝
 */
const dullblue = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { text: "我这有一些 | 奇货珍宝 | 你想不想看看? " },
            { text: "本姑娘做生意向来光明磊落, 所有商品均是市场均价, 不信的话..... 你大可去比对比对" },
            { text: "商业贸易一直都讲究等价交换, 但很多商品真的是等价交换的吗......" },
            { text: "本姑娘什么都卖, 你想要买什么都可以跟我讲, 让本姑娘看看有没有进货价值" },
            { text: "驻守在[深渊迷途]的入口处的女孩, 是我的妹妹--绯红, 你见过她了吗? " },
            { text: "我的妹妹总是很有自己的想法, 驻守在[深渊迷途]根本就吃力不讨好" },
            { text: "你想要一些<魔法卷轴>吗? 这类物品你可以去找一下我的妹妹, 她那边也许能找到一些" },
            { text: "诚信是我的原则, 如同幽蓝的深海, 深邃而不可测" },
            { text: "我的理想, 就像夜空中最亮的星, 指引着我前行的方向" },
            { text: "我愿意为实现理想, 付出我所有的智慧和汗水" },
            { text: "每一个交易, 都是我坚守诚信的证明, 就像夜空中的北斗, 指引着方向" },
            { text: "在原则问题上, 我绝不动摇, 就像深海中的岩石, 坚固而不可摧" },
            { text: "我将用我的智慧, 为这个世界带来公平和正义" },
            { text: "我的信念, 如同幽蓝的海水, 即使在黑暗中, 也永远清澈" },
            { text: "我愿意成为那道光, 照亮黑暗, 指引迷途的旅者找到归途" },
            { text: "无论面对何种挑战, 我都不会放弃, 因为我有我的信念和理想" },
            { text: "我将用我的生命, 捍卫我所珍视的一切, 就像深海永远守护着它的宝藏" }
        ]
    )
    .set('attack', defaultSpeak);

/**
 * * 角色台词 - 月华
 * * cv: 纳西妲 (936)
 */
const moonlight = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { translate: 'speak.moonlight.routine_0' },
            { translate: 'speak.moonlight.routine_1' },
            { translate: 'speak.moonlight.routine_2' },
            { translate: 'speak.moonlight.routine_3' },
            { translate: 'speak.moonlight.routine_4' },
            { translate: 'speak.moonlight.routine_5' },
            { translate: 'speak.moonlight.routine_6' },
            { translate: 'speak.moonlight.routine_7' },
            { translate: 'speak.moonlight.routine_8' },
            { translate: 'speak.moonlight.routine_9' },
            { translate: 'speak.moonlight.routine_10' },
            { translate: 'speak.moonlight.routine_11' },
        ]
    )
    .set('attack',
        [
            { text: '§8[§h 神恩偿还 §8]§r' },
            { text: '§8[§h 雾海洪流 §8]§r' },
            { text: '§8[§h 源海潮涌 §8]§r' },
            { text: '§8[§h 浮世众生 §8]§r' },
            { text: '§8[§h 露珠祈源 §8]§r' }
        ]
    );

/**
 * * 角色台词 - 珍珠
 * * cv: 派蒙 (890)
 */
const pearl = new Map<string, server.RawMessage[]>()
    .set('routine',
        [
            { translate: 'speak.pearl.routine_0' },
            { translate: 'speak.pearl.routine_1' },
            { translate: 'speak.pearl.routine_2' },
            { translate: 'speak.pearl.routine_3' },
            { translate: 'speak.pearl.routine_4' },
            { translate: 'speak.pearl.routine_5' },
            { translate: 'speak.pearl.routine_6' },
            { translate: 'speak.pearl.routine_7' },
            { translate: 'speak.pearl.routine_8' },
            { translate: 'speak.pearl.routine_9' },
        ]
    )
    .set('attack',
        [
            { text: '§8[ §9沧海加护§8 ]§r' },
            { text: '§8[ §9星海之约§8 ]§r' },
            { text: '§8[ §9诸海化形§8 ]§r' }
        ]
    );

/**
 * * 角色台词 - 琥珀
 * * cv: 雷电将军 (900)
 */
const amber = new Map<string, server.RawMessage[]>()
    .set('attack',
        [
            { translate: 'speak.amber.attack_0' },
            { translate: 'speak.amber.attack_1' },
            { translate: 'speak.amber.attack_2' },
            { translate: 'speak.amber.attack_3' },
        ]
    );

/**
 * * 角色台词 - 统合
 */
export const compile = new Map<string, Map<string, server.RawMessage[]>>()
    .set('snowhidden', snowhidden)
    .set('moonlight', moonlight)
    .set('ninenine', ninenine)
    .set('starsand', starsand)
    .set('dullblue', dullblue)
    .set('crimson', crimson)
    .set('hailing', hailing)
    .set('crystal', crystal)
    .set('rambler', rambler)
    .set('sennie', sennie)
    .set('pearl', pearl)
    .set('haina', haina)
    .set('amber', amber)